home *** CD-ROM | disk | FTP | other *** search
/ Resource Library: Multimedia / Resource Library: Multimedia.iso / sgml / unix / rexxsgml / rsdemo.rex < prev    next >
Encoding:
OS/2 REXX Batch file  |  1991-07-03  |  2.6 KB  |  85 lines

  1. /* RSDEMO: Demonstrates REXXSGML use by printing some data returned by
  2.            ARCSGML.  (Prints garbage if no parameter specified.)
  3.            Usage: REXXSGML RSDEMO SGMLfile
  4. */
  5. ARG x
  6. SAY "PROCESS" x
  7. "INIT" x
  8. "START_PASS"
  9. DO UNTIL sgml_event = 'EOD'
  10.   "NEXT"
  11.   SAY
  12.   SAY sgml_event
  13.   SELECT
  14.     WHEN sgml_event = 'NDATA' THEN
  15.       DO
  16.         SAY 'Data =' sgml_data
  17.         SAY 'Ename =' SGML_NDATA.ENAME
  18.         SAY 'SYSID =' SGML_NDATA.SYSID
  19.         SAY 'Dcnnm =' SGML_NDATA.DCNNM
  20.         SAY 'Nsys  =' SGML_NDATA.NSYS
  21.         SAY 'Attribute count =' sgml_ndata.alcnt
  22.  
  23.         alisttemp = sgml_ndata.alist
  24.         SAY 'Attr list =' alisttemp
  25.  
  26.         DO WHILE alisttemp ^= ''
  27.           PARSE VAR alisttemp aname alisttemp
  28.           SAY 'Attr value  (' || aname || ') =' sgml_ndata.aname.value
  29.           SAY 'Attr type   (' || aname || ') =' sgml_ndata.aname.type
  30.           SAY 'Attr data   (' || aname || ') =' sgml_ndata.aname.data
  31.           SAY 'Attr status (' || aname || ') =' sgml_ndata.aname.status
  32.         END
  33.  
  34.       END
  35.     WHEN POS('DATA', sgml_event) > 0 THEN
  36.       SAY 'Data =' sgml_data
  37.     WHEN sgml_event = 'PI' THEN
  38.       SAY 'Data =' sgml_data
  39.     WHEN sgml_event = 'NON_SGML' THEN
  40.       SAY 'Data =' sgml_data
  41.     WHEN sgml_event = 'START_TAG' | sgml_event = 'END_TAG' THEN
  42.       DO
  43.  
  44.         i = sgml_tag_level;
  45.  
  46.         SAY 'Tag =' sgml_data
  47.         SAY 'Tag level =' i
  48.  
  49.         IF sgml_event = 'END_TAG' THEN
  50.           i = i + 1;
  51.  
  52.         SAY 'Tag stack (' || i ||') =' sgml_tag.i.gi
  53.  
  54.         IF sgml_event = 'START_TAG' THEN
  55.           DO
  56.             SAY 'Attribute (' || i ||') =' sgml_tag.i.alcnt
  57.  
  58.             alisttemp = sgml_tag.i.alist
  59.             SAY 'Attr list (' || i ||') =' alisttemp
  60.  
  61.             DO WHILE alisttemp ^= ''
  62.               PARSE VAR alisttemp aname alisttemp
  63.               SAY 'Attr value  (' || i || ',' aname || ') =' ,
  64.                                                    sgml_tag.i.aname.value
  65.               SAY 'Attr type   (' || i || ',' aname || ') =' ,
  66.                                                    sgml_tag.i.aname.type
  67.               SAY 'Attr data   (' || i || ',' aname || ') =' ,
  68.                                                    sgml_tag.i.aname.data
  69.               SAY 'Attr status (' || i || ',' aname || ') =' ,
  70.                                                    sgml_tag.i.aname.status
  71.             END
  72.  
  73.           END
  74.  
  75.       END
  76.     OTHERWISE
  77.       NOP
  78.   END
  79.   SAY
  80.   SAY 'Press "Enter" to continue, "Ctrl-Break Enter" to end'
  81.   PULL .
  82. END
  83. 'END_RUN'
  84. SAY sgml_data "Message(s) produced"
  85.